import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.*; 
/**
 * Clase para Mostrar un Cronometro en pantalla
 * @author (Programación Orientada a Objetos- Adrián Cerda Cerda)
 * @version (24 de Mayo 2012)
 */

public class Cronometro extends Actor
{
    Date contador; //para hacer referencia a un objeto de tipo Date para el tiempo inicial
    Date contador2;//para hacer referencia a un objeto de tipo Date para el tiempo final
   /** 
    * Para realizar las acciones del Cronometro que son inicilizarlo y actualizarlo
    */
    public void act() 
    {
        if(contador == null)
        this.inicializarCrono();
        this.actualizarCrono();
    }    
    /** 
     * Constructor para la clase Cronometro
     */
    public Cronometro()
    {
        contador = null;
        this.setImage(new GreenfootImage(
                          " TIEMPO  60 ",
                          10,java.awt.Color.WHITE,
                          java.awt.Color.BLACK));
    }
    /**
     * Permite inicializar el Cronometro
     */
    public void inicializarCrono()
    {
        contador= new Date();
    }
    /**
     * Actualiza el valor del Cronometro  cada segundo
     */
    public void actualizarCrono()
    {
          contador2 = new Date();
        this.setImage(new GreenfootImage(" TIEMPO  "+
                           String.valueOf(60-(contador2.getTime() - contador.getTime())/1000)+" "
                          ,25,java.awt.Color.WHITE
                          ,java.awt.Color.BLACK));
        if((60-(contador2.getTime() - contador.getTime())/1000)==0)
        {
            ((PlaneWorld)this.getWorld()).detener();
        }
    }
    /**
     * Poner el Cronometro en nulo para poderlo inicializar
     */
    public void modifCont()
    {
        contador=null;
    }
}
